<!DOCTYPE html>
<html lang="it">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">Classe base per l'implementazione dei loader.</p>


		<h2>Costruttore</h2>


		<h3>[name]( [param:LoadingManager manager] )</h3>
		<p>
			[page:LoadingManager manager] — Il [page:LoadingManager loadingManager] del loader da utilizzare. Il valore predefinito è [page:LoadingManager THREE.DefaultLoadingManager].
		</p>
		<p>
			Crea un nuovo [name].
		</p>


		<h2>Proprietà</h2>

		<h3>[property:String crossOrigin]</h3>
		<p>
      La stringa crossOrigin per implementare il CORS per caricare la url da un dominio diverso che permette il CORS.
      Il valore predefinito è `anonymous`.
		</p>

		<h3>[property:Boolean withCredentials]</h3>
		<p>
      Indica se XMLHttpRequest utilizza le credenziali. Vedi [page:.setWithCredentials].
      Il valore predefinito è `false`.
		</p>

		<h3>[property:LoadingManager manager]</h3>
		<p>
			Il [page:LoadingManager loadingManager] utilizzato dal loader. Il valore predefinito è [page:DefaultLoadingManager].
		</p>

		<h3>[property:String path]</h3>
		<p>
      Il percorso di base da cui l'asset sarà caricato.
      Il valore predefinito è una stringa vuota.
		</p>

		<h3>[property:String resourcePath]</h3>
		<p>
      Il percorso di base da cui risorse addizionali come le texture saranno caricate.
      Il valore predefinito è una stringa vuota.
		</p>

		<h3>[property:Object requestHeader]</h3>
		<p>
      L'[link:https://developer.mozilla.org/en-US/docs/Glossary/Request_header header della richiesta] utilizzato nella richiesta HTTP.
      Vedi [page:.setRequestHeader]. Il valore predefinito è un oggetto vuoto.
		</p>

		<h2>Metodi</h2>

		<h3>[method:undefined load]()</h3>
		<p>
      Questo metodo deve essere implementato da tutti i loader concreti. Contiene la logica per il caricamento della risorsa dal backend.
		</p>

		<h3>[method:Promise loadAsync]( [param:String url], [param:Function onProgress] )</h3>
		<p>
		[page:String url] — Una stringa contenente il percorso/URL del file che deve essere caricato.<br />
		[page:Function onProgress] (opzionale) — Una funzione da chiamare mentre il caricamento è in corso.  L'argomento sarà l'istanza ProgressEvent, la quale contiene
    .[page:Boolean lengthComputable], .[page:Integer total] e .[page:Integer loaded]. Se il server non imposta l'header Content-Length; .[page:Integer total] sarà 0.<br />
		</p>
		<p>
      Questo metodo è equivalente a [page:.load], ma restituisce una [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise Promise].
		</p>
		<p>
		[page:Function onLoad] è gestito da [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve Promise.resolve] 
    e [page:Function onError] è gestito da [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/reject Promise.reject].
		</p>

		<h3>[method:undefined parse]()</h3>
		<p>
      Questo metodo deve essere implementato da tutti i loader concreti. Contiene la logica per il parsing della risorsa nelle entità di three.js.
		</p>

		<h3>[method:this setCrossOrigin]( [param:String crossOrigin] )</h3>
		<p>
			[page:String crossOrigin] — La stringa crossOrigin per implementare il CORS per caricare la url da un dominio diverso che permette il CORS.
		</p>

		<h3>[method:this setWithCredentials]( [param:Boolean value] )</h3>
		<p>
      Indica se XMLHttpRequest utilizza le credenziali come cookie, header di autorizzazione o
      certificati client TLS. Vedi [link:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials XMLHttpRequest.withCredentials].<br />
      Si noti che non ha effetti se stai caricando file localmente o dallo stesso dominio.
		</p>

		<h3>[method:this setPath]( [param:String path] )</h3>
		<p>
			[page:String path] — Imposta il percorso base per la risorsa.
		</p>

		<h3>[method:this setResourcePath]( [param:String resourcePath] )</h3>
		<p>
			[page:String resourcePath] — Imposta il percorso base per le risorse dipendenti come le texture.
		</p>

		<h3>[method:this setRequestHeader]( [param:Object requestHeader] )</h3>
		<p>
			[page:Object requestHeader] - key: Il nome dell'header il cui valore deve essere impostato; value: Il valore da impostare come corpo dell'header.<br /><br />

			Imposta l'[link:https://developer.mozilla.org/en-US/docs/Glossary/Request_header header della richiesta] utilizzato nella richiesta HTTP.
		</p>

		<h2>Source</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
